package com.sc.study.foundation.service;

import java.io.IOException;
import java.util.List;

import com.sc.study.clazz.domain.ScClazzSubjectTeacher;
import com.sc.study.foundation.domain.ScSubject;
import org.springframework.web.multipart.MultipartFile;

/**
 * 课程Service接口
 * 
 * @author sc
 * @date 2022-02-27
 */
public interface IScSubjectService
{

    /**
     * 导入课程Excel
     *
     * @param file    Excel
     */
    void importExcel(MultipartFile file) throws IOException;

    /**
     * 查询课程
     * 
     * @param subid 课程主键
     * @return 课程
     */
    public ScSubject selectScSubjectBySubid(Long subid);

    /**
     * 查询课程列表包含年级
     * 
     * @param scSubject 课程
     * @return 课程集合
     */
    public List<ScSubject> selectScSubjectList(ScSubject scSubject);

    /**
     * 查询课程列表包含年级和老师
     * @param scSubject
     * @return
     */
    List<ScSubject> selectSubjectIncludeGradeAndUsers(ScSubject scSubject);

    /**
     * 新增课程
     * 
     * @param scSubject 课程
     * @return 结果
     */
    public int insertScSubject(ScSubject scSubject);

    /**
     * 修改课程
     * 
     * @param scSubject 课程
     * @return 结果
     */
    public int updateScSubject(ScSubject scSubject);

    /**
     * 批量删除课程
     * 
     * @param subids 需要删除的课程主键集合
     * @return 结果
     */
    public int deleteScSubjectBySubids(Long[] subids);

    /**
     * 删除课程信息
     * 
     * @param subid 课程主键
     * @return 结果
     */
    public int deleteScSubjectBySubid(Long subid);

    /**
     * 查询所有下拉显示
     * 带出属性 选择题的题目对象
     * @return
     */
    List<ScSubject> listsubjectIncludeQuestions();
}
